# -*- coding: cp1252 -*-
from _ConexaoDb import *

    
# -------------- PRODUTO -------------- #

class Produto:

    # attributes --

    def __init__(self, idProduto, descricao, idGrupo, precoVenda, codigo):
        self.__idProduto = idProduto
        self.__descricao = descricao
        self.__idGrupo = idGrupo
        self.__precoVenda = precoVenda
        self.__codigo = codigo

    # db commands --

    def Cadastra(self):
        conndb = ConnectDB()
        cmd = '''
        INSERT INTO `controledb`.`produto` (`descricao`, `idGrupo`, `precoVenda`, `email`, `observacoes`, `codigo`)
        VALUES ('%s', '%s', '%s', '%s', '%s');
        ''' %(self.__descricao, self.__idGrupo, self.__precoVenda, self.__email, self.__obs, self.__codigo)

        confirm = conndb.Comando(cmd)
        return confirm

    def Altera(self):
        conndb = ConnectDB()
        cmd = '''
        UPDATE `controledb`.`produto` SET `descricao`= '%s', `idGrupo`= '%s', `precoVenda`= '%s', `codigo`= '%s'
        WHERE `idproduto`= '%s';
        '''%self.__descricao, self.__idGrupo, self.__precoVenda, self.__email, self.__obs, self.__codigo)
        confirm = conndb.Comando(cmd)
        return confirm

    def Exclui(self):
        conndb = ConnectDB()
        cmd = '''
        DELETE FROM `controledb`.`produto` WHERE `idproduto`= '%s';
        '''%(self.__idproduto)
        confirm = conndb.Comando(cmd)
        return confirm


    # methods --

    def GetIdProduto(self):
        return self.__idProduto
    def SetIdProduto(self, idProduto):
        self.__idProduto = idProduto

    def GetDescricao(self):
        return self.__descricao
    def SetDescricao(self, descricao):
        self.__descricao = descricao


    def GetIdGrupo(self):
        return self.__idGrupo
    def SetIdGrupo(self, idGrupo):
        self.__idGrupo = idGrupo


    def GetPrecoVenda(self):
        return self.__precoVenda
    def SetPrecoVenda(self, precoVenda):
        self.__precoVenda = precoVenda


    def GetCodigo(self):
        return self.__codigo
    def SetCodigo(self, codigo):
        self.__codigo = codigo

        
# -------------- GRUPO -------------- #

class Grupo:

    # attributes --

    def __init__(self, descricao):
        self.__idGrupo = idGrupo
        self.__descricao = descricao
        

    # methods --

    def GetGrupo(self):
        return self.__descricao

    def SetGrupo(self, descricao):
        self.__descricao = descricao


# -------------- ESTOQUE -------------- #

class Estoque:

    # attributes --

    def __init__(self, idProduto, data, quantidade, precoCompra):
        self.__idProduto = idProduto
        self.__data = data
        self.__quantidade = quantidade
        self.__precoCompra = precoCompra
        

    # methods --

    def GetIdProduto(self):
        return self.__idProduto
    def SetIdProduto(self, idProduto):
        self.__idProduto = idProduto


    def GetData(self):
        return self.__data
    def SetData(self, data):
        self.__data = data


    def GetQuantidade(self):
        return self.__quantidade
    def SetQuantidade(self, quantidade):
        self.__quantidade = quantidade


    def GetPrecoCompra(self):
        return self.__precoCompra
    def SetPrecoCompra(self, precoCompra):
        self.__precoCompra = precoCompra




# -------------- COMPRA -------------- #

class Compra:

    # attributes --

    def __init__(self, idPessoa, valor, idStatus, data):
        self.__idCompra = idCompra
        self.__idPessoa = idPessoa
        self.__valor = valor
        self.__idStatus = idStatus
        self.__data = data

               

    # methods --
    def GetIdPessoa(self):
        return self.__idPessoa
    def SetIdPessoa(self, idPessoa):
        self.__idPessoa = idPessoa


    def GetValor(self):
        return self.__valor
    def SetValor(self, valor):
        self.__valor = valor


    def GetIdStatus(self):
        return self.__idStatus
    def SetIdStatus(self, idStatus):
        self.__idStatus = idStatus


    def GetData(self):
        return self.__data
    def SetData(self, data):
        self.__data = data



# -------------- ITENS COMPRA -------------- #

class ItensCompra:

    # attributes --
    def __init__(self, idProduto, precoCompra, quantidade):
        self.__idCompra = idCompra
        self.__idProduto = idProduto
        self.__precoCompra = precoCompra
        self.__quantidade = quantidade

    # methods --

    
    def GetIdCompra(self):
        return self.__idCompra
    def SetIdCompra(self, idCompra):
        self.__idCompra = idCompra


    def GetIdProduto(self):
        return self.__idProduto
    def SetIdProduto(self, idProduto):
        self.__idProduto = idProduto


    def GetPrecoCompra(self):
        return self.__precoCompra
    def SetPrecoCompra(self, precoCompra):
        self.__precoCompra = precoCompra


    def GetQuantidade(self):
        return self.__quantidade
    def SetQuantidade(self, quantidade):
        self.__quantidade = quantidade


# -------------- STATUS COMPRA -------------- #

class StatusCompra:

    # attributes --

    def __init__(self, descricao):
        self.__idStatuscompra = idStatusCompra
        self.__descricao = descricao


    #methods --


    def GetDescricao(self):
        return self.__descricao
    def SetDescricao(self, descricao):
        self.__descricao = descricao

# -------------- CONTAS A PAGAR -------------- #

class ContasAPagar:

    # attributes --

    def __init__(self, idCompra, vencimento, parcelaTotal, valor, parcela):
        self.__idContasAPagar = idContasAPagar
        self.__idCompra = idCompra
        self.__vencimento = vencimento
        self.__parcelaTotal = parcelaTotal
        self.__valor = valor
        self.__parcela = parcela


    #methods --


    def GetIdCompra(self):
        return self.__idCompra
    def SetIdCompra(self, idCompra):
        self.__idCompra = idCompra


    def GetVencimento(self):
        return self.__vencimento
    def SetVencimento(self, vencimento):
        self.__vencimento = vencimento


    def GetParcelaTotal(self):
        return self.__parcelaTotal
    def SetParcelaTotal(self, parcelaTotal):
        self.__parcelaTotal = parcelaTotal


    def GetValor(self):
        return self.__valor
    def SetValor(self, valor):
        self.__valor = valor


    def GetParcela(self):
        return self.__parcela
    def SetParcela(self, parcela):
        self.__parcela = parcela




# -------------- PEDIDO VENDA -------------- #

class PedidoVenda:

    # attributes --

    def __init__(self, idPessoa, idStatus, data, valor):
        self.__idPedidoVenda = idPedidoVenda
        self.__idPessoa = idPessoa
        self.__idStatus = idStatus
        self.__data = data
        self.__valor = valor


    #methods --


    def GetIdPessoa(self):
        return self.__idPessoa
    def SetIdPessoa(self, idPessoa):
        self.__idPessoa = idPessoa


    def GetIdStatus(self):
        return self.__idStatus
    def SetIdStatus(self, idStatus):
        self.__idStatus = idStatus


    def GetData(self):
        return self.__data
    def SetData(self, data):
        self.__data = data


    def GetValor(self):
        return self.__valor
    def SetValor(self, valor):
        self.__valor = valor





# -------------- ITENS PEDIDO VENDA -------------- #

class ItensPVenda:

    # attributes --

    def __init__(self, idPedidoVenda, idProduto, quantidade, precoVenda):
        self.__idPedidoVenda = idPedidoVenda
        self.__idProduto = idProduto
        self.__quantidade = quantidade
        self.__precoVenda = precoVenda


    #methods --


    def GetIdPedidoVenda(self):
        return self.__idPedidoVenda
    def SetIdPedidoVenda(self, idPedidoVenda):
        self.__idPedidoVenda = idPedidoVenda


    def GetIdProduto(self):
        return self.__idProduto
    def SetIdProduto(self, idProduto):
        self.__idProduto = idProduto


    def GetQuantidade(self):
        return self.__quantidade
    def SetQuantidade(self, quantidade):
        self.__quantidade = quantidade


    def GetPrecoVenda(self):
        return self.__precoVenda
    def SetPrecoVenda(self, precoVenda):
        self.__precoVenda = precoVenda


# -------------- STATUS PEDIDO VENDA -------------- #

class StatusPVenda:

    # attributes --

    def __init__(self, descricao):
        self.__idStatusPVenda = idStatusPVenda
        self.__descricao = descricao


    #methods --


    def GetDescricao(self):
        return self.__descricao
    def SetDescricao(self, descricao):
        self.__descricao = descricao


# -------------- VENDA -------------- #

class Venda:

    # attributes --

    def __init__(self, idPedidoVenda, valor, data, idStatus):
        self.__idVenda = idVenda
        self.__idPedidoVenda = idPedidoVenda
        self.__valor = valor
        self.__data = data
        self.__idStatus = idStatus


    #methods --


    def GetIdPedidoVenda(self):
        return self.__idPedidoVenda
    def SetIdPedidoVenda(self, idPedidoVenda):
        self.__idPedidoVenda = idPedidoVenda


    def GetValor(self):
        return self.__valor
    def SetValor(self, valor):
        self.__valor = valor


    def GetData(self):
        return self.__data
    def SetData(self, data):
        self.__data = data


    def GetIdStatus(self):
        return self.__idStatus
    def SetIdStatus(self, idStatus):
        self.__idStatus = idStatus
        
        
# -------------- CONTAS A RECEBER -------------- #

class ContasAReceber:

    # attributes --

    def __init__(self, idVenda, vencimento, parcelaTotal, valor, parcela):
        self.__idContasAReceber = idContasAReceber
        self.__idVenda = idVenda
        self.__vencimento = vencimento
        self.__parcelaTotal = parcelaTotal
        self.__valor = valor
        self.__parcela = parcela


    #methods --


    def GetIdVenda(self):
        return self.__idVenda
    def SetIdVenda(self, idVenda):
        self.__idVenda = idVenda


    def GetVencimento(self):
        return self.__vencimento
    def SetVencimento(self, vencimento):
        self.__vencimento = vencimento


    def GetParcelaTotal(self):
        return self.__parcelaTotal
    def SetParcelaTotal(self, parcelaTotal):
        self.__parcelaTotal = parcelaTotal


    def GetValor(self):
        return self.__valor
    def SetValor(self, valor):
        self.__valor = valor


    def GetParcela(self):
        return self.__parcela
    def SetParcela(self, parcela):
        self.__parcela = parcela

        
# -------------- STATUS VENDA -------------- #

class StatusVenda:

    # attributes --

    def __init__(self, descricao):
        self.__idStatusVenda = idStatusVenda
        self.__descricao = descricao


    #methods --


    def GetDescricao(self):
        return self.__descricao
    def SetDescricao(self, descricao):
        self.__descricao = descricao
        
